Docker Toolboxを使う


概要

DLして云々

https://www.docker.com/products/docker-toolbox


Docker QuickStart Terminal起動するとデフォルトのDockerMachineが動作する用のVMが一つ作られる。

名前はdefault。



Docker Machine自体をリストアップ

ホストにインストールされてるDocker Machineをリストアップ

docker-machine ls



Docker Machine VMを起動する

ホストのマシンからコマンドで起動できる。

docker-machine start default



起動したDocker Machineにログイン

docker-machine ssh default



Docker Machineを再起動する

docker-machine restart default



Docker Machineにhello-world imageをインストール、実行する

docker run hello-world


docker-hubからDLしてきて実行してる感。


コンテナ名をつけてimageを実行する

docker run --name=“something” hello-world

で、たとえばimageが永続的な代物だと、Docker HubからDL -> 起動したままコントロールが帰ってこなくなる、とかがある。

-dオプションでロックを回避できる。


動作については、別のTerminalとかからログインしてpsとかで見てみるとわかり易い。



過去に起動したimage一覧を見る

docker ps -a



Docker Machineから特定のイメージを削除する

docker rmi hello-world



Docker Machineにインストール済みのイメージ一覧を出す

docker-machineの動作vmを起動した状態で、

docker images


例えばhello-worldを入れた後なら、

docker@default:~$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

hello-world         latest              690ed74de00f        5 months ago        960 B



特定のコンテナを実行する

docker start -a something



特定のコンテナを停止させる

docker stop something



特定のコンテナを削除する

docker rm something

一度消すと、ps -aからも起動記録が削除される。



Docker Hubからイメージの検索を行う

docker search SOMETHING



ポートフォワーディング

-pオプションでfrom:toが書ける。

コンテナ実行時にセットする感じ。

docker run -p fromPort:toPort something



試しにnginxを起動してアクセスしてみる

起動とバインド

docker run -d -p 8080:80 nginx


アクセスするためのホストからのipは、ホスト側からDocker Machineの情報を得ることでわかる。

docker-machine env


tomggg:~ tomggg$ docker-machine env

export DOCKER_TLS_VERIFY="1"

export DOCKER_HOST="tcp://192.168.99.100:2376"

export DOCKER_CERT_PATH="/Users/tomggg/.docker/machine/machines/default"

export DOCKER_MACHINE_NAME="default"

# Run this command to configure your shell: 

# eval $(docker-machine env)


って感じなので、ブラウザから次のurlをhttpでロードしようとすると、

http://192.168.99.100:8080


スクリーンショット 2016-03-13 17.15.37.png


やったぜ。



ホスト上のパスにコンテナからアクセス

例えばnginxとか入れて、そのコンテンツをホスト側に用意したい場合、

runの-v オプションで実現ができる。


docker run -v targetPath:destinationPath



runのオプション一覧

-d バックグラウンド実行

-v ホストパスの割り当て

-i 標準入力の解放

-t コンテナに仮想コンソールを接続

(-it) 標準入力コンソールを接続した状態になる

-p portの割り当て



知りたいこと

attach


imageへのscp